.NOLIST
#include "ion.inc"

#define greyframe	8265h
#define direction	8266h

.LIST
#ifdef TI83P
	.org progstart-2
	.db $BB,6D
#else
	.org progstart
#endif
	ret
	jr nc,begin 
	.db "(walking Ash)",0
begin:
	bcall(_indicatoroff)
	bcall(_clrlcdfull)
	ld a,1
	ld (direction),a
	xor a
loop:
	ld (greyframe),a
	cp 0
	jr z,loadgreyframe0
loadgreyframe1:
	ld a,(direction)
	cp 1
	jr z,loadashdown1
	cp 2
	jr z,loadashleft1
	cp 3
	jr z,loadashright1
	cp 4
	jr z,loadashup1
loadgreyframe0:
	ld a,(direction)
	cp 1
	jr z,loadashdown0
	cp 2
	jr z,loadashleft0
	cp 3
	jr z,loadashright0
	cp 4
	jr z,loadashup0
loadashdown0:
	ld ix,ashdown0
	jr draw
loadashdown1:
	ld ix,ashdown1
	jr draw
loadashleft0:
	ld ix,ashleft0
	jr draw
loadashleft1:
	ld ix,ashleft1
	jr draw
loadashright0:
	ld ix,ashright0
	jr draw
loadashright1:
	ld ix,ashright1
	jr draw
loadashup0:
	ld ix,ashup0
	jr draw
loadashup1:
	ld ix,ashup1
	jr draw
draw:
	bcall(_grbufclr)
	ld b,16
	ld c,2
	ld a,32
        ld l,28
	call ionlargesprite
	call ionfastcopy
	bcall(_getk)
	cp 1
	jr z,downpressed
	cp 2
	jr z,leftpressed
	cp 3
	jr z,rightpressed
	cp 4
	jr z,uppressed
	cp 15
	jr z,quit
changeframe:
	ld a,(greyframe)
	inc a
	cp 3
	jp nz,loop
	xor a
	jp loop
downpressed:
	ld (direction),a
	jr changeframe
leftpressed:
	ld (direction),a
	jr changeframe
rightpressed:
	ld (direction),a
	jr changeframe
uppressed:
	ld (direction),a
	jr changeframe
quit:
	ret

ashdown0:
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00111100b,00111100b
	.db 00110111b,11101100b
	.db 01010000b,00001010b
	.db 01000010b,01000010b
	.db 00110010b,01001100b
	.db 00111001b,10011100b
	.db 01001111b,11110010b
	.db 01001111b,11110010b
	.db 00111111b,11111100b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00001110b,01110000b
ashdown1:
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001000b
	.db 00111000b,00011100b
	.db 00110111b,11101100b
	.db 01010000b,00001010b
	.db 01000010b,01000010b
	.db 00110010b,01001100b
	.db 00111000b,00011100b
	.db 01001111b,11110010b
	.db 01001111b,11110010b
	.db 00111001b,10011100b
	.db 00010110b,01101000b
	.db 00010001b,10001000b
	.db 00001110b,01110000b
ashleft0:
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00110111b,11111000b
	.db 01000011b,11111100b
	.db 00111111b,11111100b
	.db 00010100b,11111100b
	.db 00010100b,10011000b
	.db 00010000b,00010000b
	.db 00001100b,01111000b
	.db 00000111b,11111000b
	.db 00000011b,00111000b
	.db 00000011b,00111000b
	.db 00000111b,11110000b
	.db 00000111b,11100000b
	.db 00000011b,11000000b
ashleft1:
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00110000b,00001000b
	.db 01000000b,00011100b
	.db 00110001b,11111100b
	.db 00010100b,11111100b
	.db 00010100b,10011000b
	.db 00010000b,00010000b
	.db 00001000b,01101000b
	.db 00000111b,11001000b
	.db 00000011b,00101000b
	.db 00000011b,00101000b
	.db 00000100b,11110000b
	.db 00000100b,00100000b
	.db 00000011b,11000000b
ashright0:
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11101100b
	.db 00111111b,11000010b
	.db 00111111b,11111100b
	.db 00111111b,00101000b
	.db 00011001b,00101000b
	.db 00001000b,00001000b
	.db 00011110b,00110000b
	.db 00011111b,11100000b
	.db 00011100b,11000000b
	.db 00011100b,11000000b
	.db 00001111b,11100000b
	.db 00000111b,11100000b
	.db 00000011b,11000000b
ashright1:
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001100b
	.db 00111000b,00000010b
	.db 00111111b,10001100b
	.db 00111111b,00101000b
	.db 00011001b,00101000b
	.db 00001000b,00001000b
	.db 00010110b,00010000b
	.db 00010011b,11100000b
	.db 00010100b,11000000b
	.db 00010100b,11000000b
	.db 00001111b,00100000b
	.db 00000100b,00100000b
	.db 00000011b,11000000b
ashup0:
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00111111b,11111100b
	.db 00111111b,11111100b
	.db 01011111b,11111010b
	.db 01001111b,11110010b
	.db 00110011b,11001100b
	.db 00111111b,11111100b
	.db 01011111b,11111010b
	.db 01011110b,01111010b
	.db 00111111b,11111100b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00001110b,01110000b
ashup1:
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001000b
	.db 00110000b,00001100b
	.db 00111000b,00011100b
	.db 01011111b,11111010b
	.db 01001111b,11110010b
	.db 00110011b,11001100b
	.db 00111100b,00111100b
	.db 01011011b,11011010b
	.db 01011000b,00011010b
	.db 00111100b,00111100b
	.db 00010111b,11101000b
	.db 00010001b,10001000b
	.db 00001110b,01110000b
ashwalkingdowna0:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00111100b,00111100b
	.db 00111111b,11111100b
	.db 01010000b,00001010b
	.db 01000010b,01000010b
	.db 01110010b,01001100b
	.db 01011001b,10011100b
	.db 00111111b,11110100b
	.db 00011111b,11001100b
	.db 00001111b,11001000b
	.db 00001111b,10110000b
	.db 00000111b,00000000b
ashwalkingdowna1:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001000b
	.db 00111000b,00011100b
	.db 00111111b,11111100b
	.db 01010000b,00001010b
	.db 01000010b,01000010b
	.db 01110010b,01001100b
	.db 01011000b,00010100b
	.db 00111111b,11110100b
	.db 00011011b,11001100b
	.db 00001110b,01001000b
	.db 00001001b,10110000b
	.db 00000111b,00000000b
ashwalkingdownb0:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00111100b,00111100b
	.db 00111111b,11111100b
	.db 01010000b,00001010b
	.db 01000010b,01000010b
	.db 00110010b,01001110b
	.db 00111001b,10011010b
	.db 00101111b,11111100b
	.db 00110011b,11111000b
	.db 00010011b,11110000b
	.db 00001101b,11110000b
	.db 00000000b,11100000b
ashwalkingdownb1:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001000b
	.db 00111000b,00011100b
	.db 00111111b,11111100b
	.db 01010000b,00001010b
	.db 01000010b,01000010b
	.db 00110010b,01001110b
	.db 00101000b,00011010b
	.db 00101111b,11111100b
	.db 00110011b,11011000b
	.db 00010010b,01110000b
	.db 00001101b,10010000b
	.db 00000000b,11100000b
ashwalkingleft0:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00110111b,11111000b
	.db 01000011b,11111100b
	.db 00111111b,11111100b
	.db 00010100b,11111100b
	.db 00010100b,10011000b
	.db 00010000b,00010000b
	.db 00001100b,01111000b
	.db 00000111b,11111000b
	.db 00011111b,10011000b
	.db 00111111b,10011100b
	.db 00011111b,11111100b
	.db 00001110b,00011000b
ashwalkingleft1:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00110000b,00001000b
	.db 01000000b,00011100b
	.db 00110001b,11111100b
	.db 00010100b,11111100b
	.db 00010100b,10011000b
	.db 00010000b,00010000b
	.db 00001000b,01101000b
	.db 00000111b,11101000b
	.db 00011111b,10011000b
	.db 00100100b,10010100b
	.db 00010011b,11100100b
	.db 00001110b,00011000b
ashwalkingright0:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11101100b
	.db 00111111b,11000010b
	.db 00111111b,11111100b
	.db 00111111b,00101000b
	.db 00011001b,00101000b
	.db 00001000b,00001000b
	.db 00011110b,00110000b
	.db 00011111b,11100000b
	.db 00011001b,11111000b
	.db 00111001b,11111100b
	.db 00111111b,11111000b
	.db 00011000b,01110000b
ashwalkingright1:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001100b
	.db 00111000b,00000010b
	.db 00111111b,10001100b
	.db 00111111b,00101000b
	.db 00011001b,00101000b
	.db 00001000b,00001000b
	.db 00010110b,00010000b
	.db 00010111b,11100000b
	.db 00011001b,11111000b
	.db 00101001b,00100100b
	.db 00100111b,11001000b
	.db 00011000b,01110000b
ashwalkingupa0:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00111111b,11111100b
	.db 00111111b,11111100b
	.db 01011111b,11111010b
	.db 01001111b,11110010b
	.db 01110011b,11001100b
	.db 01011111b,11111100b
	.db 00111111b,11110010b
	.db 00011110b,01110010b
	.db 00001111b,11111100b
	.db 00001111b,11000000b
	.db 00000111b,00000000b
ashwalkingupa1:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001000b
	.db 00110000b,00001100b
	.db 00111000b,00011100b
	.db 01011111b,11111010b
	.db 01001111b,11110010b
	.db 01110011b,11001100b
	.db 01011100b,00111100b
	.db 00111011b,11010010b
	.db 00011000b,00010010b
	.db 00001100b,00111100b
	.db 00001011b,11000000b
	.db 00000111b,00000000b
ashwalkingupb0:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001111b,11110000b
	.db 00011111b,11111000b
	.db 00011111b,11111000b
	.db 00111111b,11111100b
	.db 00111111b,11111100b
	.db 01011111b,11111010b
	.db 01001111b,11110010b
	.db 00110011b,11001110b
	.db 00111111b,11111010b
	.db 01001111b,11111100b
	.db 01001110b,01111000b
	.db 00111111b,11110000b
	.db 00000011b,11110000b
	.db 00000000b,11100000b
ashwalkingupb1:
	.db 00000000b,00000000b
	.db 00000111b,11100000b
	.db 00001000b,00010000b
	.db 00010000b,00001000b
	.db 00010000b,00001000b
	.db 00110000b,00001100b
	.db 00111000b,00011100b
	.db 01011111b,11111010b
	.db 01001111b,11110010b
	.db 00110011b,11001110b
	.db 00111100b,00111010b
	.db 01001011b,11011100b
	.db 01001000b,00011000b
	.db 00111100b,00110000b
	.db 00000011b,11010000b
	.db 00000000b,11100000b


.end
END